/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package com.ontologia.session;

import com.ontologia.entities.Mediosdetransportes;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;

/**
 *
 * @author Sebastian Rojas
 */
@Stateless
public class MediosdetransportesFacade extends AbstractFacade<Mediosdetransportes> {

  @PersistenceContext(unitName = "ontologia-ejbPU")
  private EntityManager em;

  @Override
  protected EntityManager getEntityManager() {
    return em;
  }

  public MediosdetransportesFacade() {
    super(Mediosdetransportes.class);
  }

  public void guardarMedioDeTransporte(Mediosdetransportes medioTransporte) {
    em.persist(medioTransporte);
  }

  public Mediosdetransportes getMedioTransportePorAtributo(String atributo) {
    Mediosdetransportes medioT = new Mediosdetransportes();
    switch (atributo) {
      case "maxvelocidadmedia":
        Query query = getEntityManager().createNamedQuery("Mediosdetransportes.findByMaxVelocidadMedia");
        medioT = (Mediosdetransportes) query.getSingleResult();
        break;
      case "minvelocidadmedia":
        Query query1 = getEntityManager().createNamedQuery("Mediosdetransportes.findByMinVelocidadMedia");
        medioT = (Mediosdetransportes) query1.getSingleResult();
        break;
      case "maxcapacidaddecarga":
        Query query2 = getEntityManager().createNamedQuery("Mediosdetransportes.findByMaxCapacidadCarga");
        medioT = (Mediosdetransportes) query2.getSingleResult();
        break;
      case "mincapacidaddecarga":
        Query query3 = getEntityManager().createNamedQuery("Mediosdetransportes.findByMinCapacidadCarga");
        medioT = (Mediosdetransportes) query3.getSingleResult();
        break;
      case "maxmedidacontenedor":
        Query query4 = getEntityManager().createNamedQuery("Mediosdetransportes.findByMaxMedidaContenedor");
        medioT = (Mediosdetransportes) query4.getSingleResult();
        break;
      case "minmedidacontenedor":
        Query query5 = getEntityManager().createNamedQuery("Mediosdetransportes.findByMinMedidaContenedor");
        medioT = (Mediosdetransportes) query5.getSingleResult();
        break;
    }
    return medioT;
  }

}
